package com.lanyan.system.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.lanyan.common.annotation.RequiredField;
import com.baomidou.mybatisplus.annotation.TableId;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lanyan.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lanyan.common.core.domain.BaseEntity;

/**
 * 用户Vo对象 account
 *
 * @author lanyan
 * @date 2024-11-26
 */
@Data
public class AccountVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @TableId(value = "account_id", type = IdType.AUTO)
    @RequiredField(update = true,delete = true)
    private Long accountId;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 昵称 */
    @Excel(name = "昵称")
    @ApiModelProperty("昵称")
    private String name;

    /** 头像 */
    @Excel(name = "头像")
    @ApiModelProperty("头像")
    private String avatar;

    /** 电话 */
    @Excel(name = "电话")
    @ApiModelProperty("电话")
    private String phone;

    /** 余额 */
    @Excel(name = "余额")
    @ApiModelProperty("余额")
    private BigDecimal balance;

    /** openId */
    @Excel(name = "openId")
    @ApiModelProperty("openId")
    private String openId;

    /** 是否冻结（0未冻结 1已冻结） */
    @Excel(name = "是否冻结", readConverterExp = "0=未冻结,1=已冻结")
    @ApiModelProperty("是否冻结（0未冻结 1已冻结）")
    private String isFreeze;

    /** token */
    @Excel(name = "token")
    @ApiModelProperty("token")
    private String token;

    /** vip结束时间 */
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    @Excel(name = "vip结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("vip结束时间")
    private Date vipEnd;


}
